﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Business_Logic_Layer;
using SysContext;

namespace Money_Dance
{
    public partial class UserControlBieudo : UserControl
    {
        public UserControlBieudo()
        {
            InitializeComponent();
        }
        /// <summary>
        /// Constructor UserControlBieudo
        /// </summary>
        /// <param name="id"></param>
        public UserControlBieudo(int id)
        {
            UserID = id;
        }
        public static int UserID;
        string AccountType;
        BUSS BUS = new BUSS();
        SysDataContext Data = new SysDataContext();
        
        private void UserControlBieudo_Load(object sender, EventArgs e)
        {
            // Mặc định biểu đồ ở tháng hiện tại.
            Cbx_month.Text = DateTime.Now.Month.ToString();
        }
        // Thể hiện biểu đồ theo tài khoản thu chi.
        private void btn_Checking_Click(object sender, EventArgs e)
        {
            AccountType = "Checking";
            // Thể hiện biểu đồ theo danh mục và năm.
            if (chbx_Category.Checked == true)
            {
                CrystalReportCategory Cry = new CrystalReportCategory();
                Cry.SetDataSource(BUS.SelectTransViewCategory(UserID, AccountType, Cbx_Category.Text.ToString(), Cbx_Year.Text.ToString()));
                crystalReportViewer1.ReportSource = Cry;
            }
            // Thể hiện biểu đồ theo tài tháng.
            else
            {
                CrystalReportGraph Cry = new CrystalReportGraph();
                Cry.SetDataSource(BUS.SelectTransViewMonth(UserID, AccountType, Cbx_month.Text.ToString()));
                crystalReportViewer1.ReportSource = Cry;
            }

            crystalReportViewer1.Refresh();
        }
        // Thể hiện biểu đồ theo tài khoản tiết kiệm.
        private void btn_Saving_Click(object sender, EventArgs e)
        {
            AccountType = "Saving";
            // Thể hiện biểu đồ theo danh mục và năm.
            if (chbx_Category.Checked == true)
            {
                CrystalReportCategory Cry = new CrystalReportCategory();
                Cry.SetDataSource(BUS.SelectTransViewCategory(UserID, AccountType, Cbx_Category.Text.ToString(), Cbx_Year.Text.ToString()));
                crystalReportViewer1.ReportSource = Cry;
            }
            // Thể hiện biểu đồ theo danh mục và năm.
            else
            {
                CrystalReportGraph Cry = new CrystalReportGraph();
                Cry.SetDataSource(BUS.SelectTransViewMonth(UserID, AccountType, Cbx_month.Text.ToString()));
                crystalReportViewer1.ReportSource = Cry;
            }
            crystalReportViewer1.Refresh();
        }
        // Thể hiện biểu đồ theo tháng.
        private void Cbx_month_SelectedIndexChanged(object sender, EventArgs e)
        {
            CrystalReportGraph Cry = new CrystalReportGraph();
            Cry.SetDataSource(BUS.SelectTransViewMonth(UserID, "Checking", Cbx_month.Text.ToString()));
            crystalReportViewer1.ReportSource = Cry;
            crystalReportViewer1.Refresh();
        }
        // Kiểm tra có phải xem biểu đồ theo danh mục và năm hay không.
        private void chbx_Category_CheckedChanged(object sender, EventArgs e)
        {
            if (chbx_Category.Checked == true)
            {
                Cbx_Category.Enabled = true;
                Cbx_Year.Enabled = true;
                lbl_year.Enabled = true;
                // Thể hiện tên danh mục.
                Cbx_Category.DataSource = BUS.SelectName();
                Cbx_Year.Text = DateTime.Now.Year.ToString();
            }
            else
            {
                Cbx_Category.Enabled = false;
                Cbx_Year.Enabled = false;
                lbl_year.Enabled = false;
            }
        }
        // Thể hiện dữ liệu theo danh mục khi thay đôi trạng thái của Combobox danh mục.
        private void Cbx_Category_SelectedIndexChanged(object sender, EventArgs e)
        {
            CrystalReportCategory Cry = new CrystalReportCategory();
            Cry.SetDataSource(BUS.SelectTransViewCategory(UserID, AccountType, Cbx_Category.Text.ToString(), Cbx_Year.Text.ToString()));
            crystalReportViewer1.ReportSource = Cry;
        }
        // Thể hiện dữ liệu theo và năm khi thay đôi trạng thái của Combobox năm.
        private void Cbx_Year_SelectedIndexChanged(object sender, EventArgs e)
        {
            CrystalReportCategory Cry = new CrystalReportCategory();
            Cry.SetDataSource(BUS.SelectTransViewCategory(UserID, AccountType, Cbx_Category.Text.ToString(), Cbx_Year.Text.ToString()));
            crystalReportViewer1.ReportSource = Cry;
            crystalReportViewer1.Refresh(); 
        }

        

        
    }
}
